로그인 셸

Bash가 로그인 셸로 시작되면 먼저 /etc/profile을 읽고 실행합니다. 이어서 ~/.bash_profile과 ~/.bash_login 및 ~/.profile을 차례로 확인해 읽을 수 있는 첫 번째 파일을 실행합니다.

로그인 셸이 종료될 때 ~/.bash_logout 파일이 있으면 그 안의 명령을 실행합니다.

로그인 셸 모드를 따로 두는 이유는 사용자가 처음 로그인할 때만 필요한 작업과 환경 변수 설정이 있기 때문입니다. 그래서 유닉스 셸에는 로그인 모드가 필요합니다.

로그인 셸로 시작하는 방법

로그인 셸인지 확인하는 방법

관련 옵션

대화형 셸

Bash가 로그인 셸이 아닌 대화형 셸로 시작되면 ~/.bashrc의 명령을 읽고 실행합니다. 예를 들어 별칭은 상위 셸에서 상속되지 않으므로 각 셸에서 정의할 수 있도록 이 파일에 넣는 것이 좋습니다.

시스템 전체에 적용되는 /etc/bash.bashrc 또는 이와 비슷한 설정 파일은 공급자나 배포판에서 수정한 Bash에 따라 지원 여부가 다릅니다. 전통적인 방법은 각 사용자의 ~/.bashrc에서 /etc/bashrc를 불러오는 것입니다.

대화형 셸인지 확인하는 방법

관련 옵션

sh 호환 모드

Bash는 sh 호환 모드에서 POSIX 표준을 따르면서 오래된 sh의 시작 동작을 최대한 재현합니다. 로그인 셸이면 /etc/profile과 ~/.profile을 읽습니다.

로그인 셸이 아니면 환경 변수 ENV의 값을 해석해 얻은 파일 이름을 시작 파일로 사용합니다.

시작 파일을 읽은 뒤에는 POSIX 호환 실행 모드로 전환합니다. 이 모드는 시작 과정이 아니라 명령 실행에 적용됩니다.

sh 호환 모드로 시작하는 조건